#ifndef _EVENT2_BUFFER_H_
#define _EVENT2_BUFFER_H_

/** @file test.h
 * 这是一个测试头文件
 */

/*! \brief 简要描述0.
 *         继续简要描述.
 *
 *  详细描述从这里开始.
 */
#define BRIFE_COMMENT0 0
/** 以点结尾的简单注释. 后面跟详细信息1.
 * 
 */
#define BRIFE_COMMENT 1

/// 以点结尾的简单注释. 后面跟详细信息2.
///
#define BRIFE_COMMENT2 2

/// 简要描述3.
/** 详细描述. */
#define BRIFE_COMMENT3 3

//! 简要描述4.

//! 详细描述.
//! 从这里开始.
#define BRIFE_COMMENT4 4

/**
 * @brief javadoc风格注释的简介
 * 这是典型的javadoc风格的注释。它以两个星号开始
 *
 * @param theory 即使只有一种可能的统一理论。它只是一组规则和公式
 */
void cstyle(int theory);

/*******************************************************************************
 *  javadoc风格(C风格)横幅注释的简介.
 *
 * 这是典型的javadoc风格的“横幅”注释。它以斜杠开始，后跟一个带有n个星号，其中n > 2
 * 这样写是为了让阅读源代码的开发人员更“可见”。
 *
 * 通常，开发人员不知道这(默认情况下)不是一个有效的Doxygen注释块!
 * 但是，只要将 JAVADOC_BANNER = YES添加到Doxyfile中，它就会按预期工作。
 *
 * 这种注释风格在clang格式中表现良好。
 * digraph G {
        compound=true;
        nodesep=1.0;
        subgraph cluster_A {
          a -> b;
          a -> c;
        }
        subgraph cluster_B {
          d -> e;
          f -> e;
        }
        a -> e [ ltail=cluster_A,
                 lhead=cluster_B ];
      }
 * @param theory 即使只有一种可能的统一理论。它只是一组规则和公式
 ******************************************************************************/
void javadocBanner(int theory);

/***************************************************************************/ /**
 * doxygen风格横幅评论的简史。
 *
 * 这是一个doxygen风格的c风格的“横幅”评论。它以一个“普通的”注释开始，然后被转换为靠近
 * 第一行末尾的“特殊的”注释块。这样写是为了让阅读源代码的开发人员更“可见”。
 * 这种注释风格在clang格式中表现不佳。
 *
 * @param theory 即使只有一种可能的统一理论。它只是一组规则和公式
 ******************************************************************************/
void doxygenBanner(int theory);

#endif /* _EVENT2_BUFFER_H_ */